Low Density Parity Check (LDPC) codes are used for error correcting in noisy channels. The LDPC codes are used for encoding a message into an LDPC codeword and for decoding a noisy version of that codeword in a receiver. LDPC codes appear in various standards, such as IEEE 802.16e, IEEE 802.11n, DVB-T2, IEEE 802.15.3c, and the ITU G.hn standard. Standardization of 60 GHz systems in the Wireless Gigabit Alliance (WGA) has also agreed already to be using LDPC codes.
An LDPC code is a linear block code and can be defined by a parity check matrix which is more specifically known as an LDPC code matrix. The LDPC codes have parity check matrix which is sparse, meaning it has very few non-zero entries. The code rate is R=1−M/N. where N is the number of columns in the matrix, representing the size of the code, and M is the number of rows in the matrix, representing the number of parity check equations. An example of a linear block code with N=7, M=3, is shown in relation (1) below:
         [                                        1                                0                                1                                0                                1                                0                                1                                                0                                1                                1                                0                                0                                1                                1                                                0                                0                                0                                1                                1                                1                                1                              [                                                                                                                                                                                                                                                
Quasi-cyclic (QC) LDPC matrices are known (e.g., in IEEE 802.11n and in IEEE 802.15.3c) and they can be concisely described. Note that a permutation matrix is a matrix that has a single “1” in each row and a single “1” in each column. For example the below matrix is a 8×8 permutation matrix. Moreover, the below permutation matrix is a cyclic permutation matrix. The QC LDPC is made of cyclic permutation matrices.
                       0                    0                    0                    1                    0                    0                    0                    0                            0                    0                    0                    0                    1                    0                    0                    0                            0                    0                    0                    0                    0                    1                    0                    0                            0                    0                    0                    0                    0                    0                    1                    0                            0                    0                    0                    0                    0                    0                    0                    1                            1                    0                    0                    0                    0                    0                    0                    0                            0                    1                    0                    0                    0                    0                    0                    0                            0                    0                    1                    0                    0                    0                    0                    0            
Communication systems typically require more than one coding rate, which for a system using LDPC codes imply support of more than one LDPC code. Methods for efficient design of a LDPC decoder that supports multiple codes are therefore of great interest. Moreover, LDPC codes that result in low-cost low-power consumption efficient decoder are also of great interest.